package com.lb.uts.client.model;

import java.io.Serializable;

/**
 * 描述一个任务
 */
public class TaskJobDetails implements Serializable {

    private static final long serialVersionUID = -4249520655553777041L;


    /**
     * 定时任务ID
     */

    /**
     * 定时任务名称
     */
    private String jobName;

    /**
     * 定时任务分组名称
     */
    private String jobGroup;

    /**
     * 定时任务状态，0：正常，1：暂停，2：删除
     */
    private String jobStatus;

    /**
     * 触发器表达式
     */
    private String cronExpression;

    /**
     * 任务描述
     */
    private String jobDesc;

    /**
     * 属于什么系统
     */
    private String systemName;

    /**
     * 调用服务的名称
     */
    private String service;

    /**
     * 调用服务的方法
     */
    private String method;

    /**
     * 版本号,记录修改次数
     */
    private Long version;

    /**
     * 报警邮件，可多个，以逗号隔开
     */
    private String alarmEmail;

    /**
     * 并发数量:0不做限制
     */
    // @NotEmpty(message = "concurrentNum不可以为空")
    private Short concurrentNum;


    private Short runNum;

    /**
     * 请求参数
     */
    private String parameters;

    /**
     * 执行策略
     * 00：随机
     * 01：分片
     * 02：权重
     */
    private String policyType;

    /**
     * 任务依赖
     */
    private String depend;

    /**
     * 脚本类型
     * 0:(java)代码 1:shell脚本
     */
    private Integer taskType;

    /**
     * 脚本路径
     */
    private String scriptPath;

    /**
     * 定时任务名称
     */
    public String getJobName() {
        return jobName;
    }



    public String getDepend() {
        return depend;
    }

    public void setDepend(String depend) {
        this.depend = depend;
    }

    /**
     * 定时任务名称
     */
    public void setJobName(String jobName) {
        this.jobName = jobName == null ? null : jobName.trim();
    }

    /**
     * 定时任务分组名称
     */
    public String getJobGroup() {
        return jobGroup;
    }

    /**
     * 定时任务分组名称
     */
    public void setJobGroup(String jobGroup) {
        this.jobGroup = jobGroup == null ? null : jobGroup.trim();
    }

    /**
     * 定时任务状态，0：正常，1：暂停，2：删除
     */
    public String getJobStatus() {
        return jobStatus;
    }

    /**
     * 定时任务状态，0：正常，1：暂停，2：删除
     */
    public void setJobStatus(String jobStatus) {
        this.jobStatus = jobStatus == null ? null : jobStatus.trim();
    }

    /**
     * 触发器表达式
     */
    public String getCronExpression() {
        return cronExpression;
    }

    /**
     * 触发器表达式
     */
    public void setCronExpression(String cronExpression) {
        this.cronExpression = cronExpression == null ? null : cronExpression.trim();
    }

    /**
     * 任务描述
     */
    public String getJobDesc() {
        return jobDesc;
    }

    /**
     * 任务描述
     */
    public void setJobDesc(String jobDesc) {
        this.jobDesc = jobDesc == null ? null : jobDesc.trim();
    }

    /**
     * 属于什么系统
     */
    public String getSystemName() {
        return systemName;
    }

    /**
     * 属于什么系统
     */
    public void setSystemName(String systemName) {
        this.systemName = systemName == null ? null : systemName.trim();
    }

    /**
     * 调用服务的名称
     */
    public String getService() {
        return service;
    }

    /**
     * 调用服务的名称
     */
    public void setService(String service) {
        this.service = service == null ? null : service.trim();
    }

    /**
     * 调用服务的方法
     */
    public String getMethod() {
        return method;
    }

    /**
     * 调用服务的方法
     */
    public void setMethod(String method) {
        this.method = method == null ? null : method.trim();
    }

    /**
     * 版本号,记录修改次数
     */
    public Long getVersion() {
        return version;
    }

    /**
     * 版本号,记录修改次数
     */
    public void setVersion(Long version) {
        this.version = version;
    }

    /**
     * 报警邮件，可多个，以逗号隔开
     */
    public String getAlarmEmail() {
        return alarmEmail;
    }

    /**
     * 报警邮件，可多个，以逗号隔开
     */
    public void setAlarmEmail(String alarmEmail) {
        this.alarmEmail = alarmEmail == null ? null : alarmEmail.trim();
    }

    /**
     * 并发数量:0不做限制
     */
    public Short getConcurrentNum() {
        return concurrentNum;
    }

    /**
     * 并发数量:0不做限制
     */
    public void setConcurrentNum(Short concurrentNum) {
        this.concurrentNum = concurrentNum;
    }

    public Short getRunNum() {
        return runNum;
    }

    public void setRunNum(Short runNum) {
        this.runNum = runNum;
    }

    /**
     * 请求参数
     */
    public String getParameters() {
        return parameters;
    }

    /**
     * 请求参数
     */
    public void setParameters(String parameters) {
        this.parameters = parameters == null ? null : parameters.trim();
    }

    public String getPolicyType() {
        return policyType;
    }

    public void setPolicyType(String policyType) {
        this.policyType = policyType;
    }

    public Integer getTaskType() {
        return taskType;
    }

    public void setTaskType(Integer taskType) {
        this.taskType = taskType;
    }

    public String getScriptPath() {
        return scriptPath;
    }

    public void setScriptPath(String scriptPath) {
        this.scriptPath = scriptPath;
    }

    @Override
    public String toString() {
        return "TaskJobDetails{" +
                "jobName='" + jobName + '\'' +
                ", jobGroup='" + jobGroup + '\'' +
                ", jobStatus='" + jobStatus + '\'' +
                ", cronExpression='" + cronExpression + '\'' +
                ", jobDesc='" + jobDesc + '\'' +
                ", systemName='" + systemName + '\'' +
                ", service='" + service + '\'' +
                ", method='" + method + '\'' +
                ", version=" + version +
                ", alarmEmail='" + alarmEmail + '\'' +
                ", concurrentNum=" + concurrentNum +
                ", runNum=" + runNum +
                ", parameters='" + parameters + '\'' +
                ", policyType='" + policyType + '\'' +
                ", depend='" + depend + '\'' +
                ", taskType=" + taskType +
                ", scriptPath='" + scriptPath + '\'' +
                '}';
    }
}
